home *** CD-ROM | disk | FTP | other *** search
/ VRML 2.0 Sourcebook (2nd Edition) / VRML 2.0 Sourcebook CD [md5 fed90f4f9c39d5a60d477058775c7e21].iso / book / mac / ch27 / 27fig02.wrl < prev    next >
Text File  |  1996-09-23  |  3KB  |  98 lines

  1. #VRML V2.0 utf8
  2. # The VRML 2.0 Sourcebook
  3. # Copyright [1997] By
  4. # Andrea L. Ames, David R. Nadeau, and John L. Moreland
  5. Group {
  6.     children [
  7.         NavigationInfo {
  8.             headlight FALSE
  9.             avatarSize [ 1.0, 1.6, 0.75 ]
  10.         },
  11.     # Room
  12.         Inline { url "droom.wrl" },
  13.     # Wall
  14.         Transform {
  15.             translation 0.0 0.0 -5.0
  16.             children Inline { url "dwall2.wrl" }
  17.         },
  18.     # Left and right door panels in a collision group
  19.         DEF DoorCollide Collision {
  20.             children Transform {
  21.                 translation 0.0 0.0 -4.95
  22.                 children [
  23.                     DEF LeftDoor Transform {
  24.                         children Transform {
  25.                             translation -0.75 0.0 0.0
  26.                             children DEF Door Inline { url "ddoor.wrl" }
  27.                         }
  28.                     },
  29.                     DEF RightDoor Transform {
  30.                         children Transform {
  31.                             translation 0.75 0.0 0.0
  32.                             children USE Door
  33.                         }
  34.                     },
  35.                     DEF DoorSense ProximitySensor {
  36.                         center 0.0 1.75 0.0
  37.                         size 6.0 3.5 8.0
  38.                     }
  39.                 ]
  40.             }
  41.         },
  42.     # Sounds
  43.         Sound {
  44.             source DEF OpenSound AudioClip { url "clunk1.wav" }
  45.             minFront 20.0 minBack 20.0
  46.             maxFront 60.0 maxBack 60.0
  47.         },
  48.         Sound {
  49.             source DEF CloseSound AudioClip { url "clunk1.wav" }
  50.             minFront 20.0 minBack 20.0
  51.             maxFront 60.0 maxBack 60.0
  52.         },
  53.     # Animation clocks
  54.         DEF OpenClock TimeSensor {
  55.             cycleInterval 0.5
  56.         },
  57.         DEF CloseClock TimeSensor {
  58.             cycleInterval 0.5
  59.         },
  60.     # Animation paths for the left and right doors
  61.         DEF LeftOpen PositionInterpolator {
  62.             key [ 0.0, 1.0 ]
  63.             keyValue [ 0.0 0.0 0.0, -1.3 0.0 0.0 ]
  64.         },
  65.         DEF LeftClose PositionInterpolator {
  66.             key [ 0.0, 1.0 ]
  67.             keyValue [ -1.3 0.0 0.0, 0.0 0.0 0.0 ]
  68.         },
  69.         DEF RightOpen PositionInterpolator {
  70.             key [ 0.0, 1.0 ]
  71.             keyValue [ 0.0 0.0 0.0, 1.3 0.0 0.0 ]
  72.         },
  73.         DEF RightClose PositionInterpolator {
  74.             key [ 0.0, 1.0 ]
  75.             keyValue [ 1.3 0.0 0.0, 0.0 0.0 0.0 ]
  76.         }
  77.     ]
  78. }
  79. ROUTE DoorCollide.collideTime     TO OpenSound.set_startTime
  80. ROUTE DoorSense.exitTime          TO OpenSound.set_stopTime
  81. ROUTE DoorCollide.collideTime     TO OpenClock.set_startTime
  82. ROUTE DoorSense.exitTime          TO OpenClock.set_stopTime
  83.  
  84. ROUTE DoorSense.exitTime          TO CloseSound.set_startTime
  85. ROUTE DoorCollide.collideTime     TO CloseSound.set_stopTime
  86. ROUTE DoorSense.exitTime          TO CloseClock.set_startTime
  87. ROUTE DoorCollide.collideTime     TO CloseClock.set_stopTime
  88.  
  89. ROUTE OpenClock.fraction_changed  TO LeftOpen.set_fraction
  90. ROUTE OpenClock.fraction_changed  TO RightOpen.set_fraction
  91. ROUTE CloseClock.fraction_changed TO LeftClose.set_fraction
  92. ROUTE CloseClock.fraction_changed TO RightClose.set_fraction
  93.  
  94. ROUTE LeftOpen.value_changed      TO LeftDoor.set_translation
  95. ROUTE LeftClose.value_changed     TO LeftDoor.set_translation
  96. ROUTE RightOpen.value_changed     TO RightDoor.set_translation
  97. ROUTE RightClose.value_changed    TO RightDoor.set_translation
  98.